package com.hb.trade.client.project;

import com.hb.core.pojo.parent.PageResult;
import com.hb.core.pojo.project.notice.dto.TenderInviteEnterpriseDTO;
import com.hb.core.pojo.project.notice.entity.TenderInviteEnterprise;
import org.fzzn.core.model.msg.Message;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * 邀请书的Client
 * @author tian
 * @date 2022年02月19日 16:28
 */
@FeignClient("hb-project")
public interface TenderInviteEnterpriseClient {

    /**
     * 查询投标人邀请书列表信息
     * @author tian
     * @date 2022-2-19 17:06
     * @param tenderInviteEnterpriseDTO
     * @return org.fzzn.core.model.msg.Message<com.hb.core.pojo.parent.PageResult < com.hb.core.pojo.project.notice.dto.TenderInviteEnterpriseDTO>>
     */
    @PostMapping("/tenderInviteEnterprise/findTenderInviteEnterpriseList")
    Message<PageResult<TenderInviteEnterpriseDTO>> findTenderInviteEnterpriseList(TenderInviteEnterpriseDTO tenderInviteEnterpriseDTO);


    /**
     * 查询投标人邀请书列表信息
     * @author tian
     * @date 2022-2-19 17:06
     * @param tenderInviteEnterpriseDTO
     * @return org.fzzn.core.model.msg.Message<com.hb.core.pojo.parent.PageResult < com.hb.core.pojo.project.notice.dto.TenderInviteEnterpriseDTO>>
     */
    @PostMapping("/tenderInviteEnterprise/findTenderInviteEnterpriseInfoById")
    Message<TenderInviteEnterpriseDTO> findTenderInviteEnterpriseInfoById(TenderInviteEnterpriseDTO tenderInviteEnterpriseDTO);


    /**
     * 投标人确认回执
     * @author tian
     * @date 2022-2-19 17:47
     * @param tenderInviteEnterpriseDTO
     * @return org.fzzn.core.model.msg.Message<java.lang.Boolean>
     */
    @PostMapping("/tenderInviteEnterprise/confirmationReceipt")
    Message<Boolean> confirmationReceipt(TenderInviteEnterpriseDTO tenderInviteEnterpriseDTO);


    /**
     * 代理机构邀请回执列表
     * @author tian
     * @date 2022-2-19 17:06
     * @param tenderInviteEnterpriseDTO
     * @return org.fzzn.core.model.msg.Message<com.hb.core.pojo.parent.PageResult < com.hb.core.pojo.project.notice.dto.TenderInviteEnterpriseDTO>>
     */
    @PostMapping("/tenderInviteEnterprise/findInviteEnterpriseListByProjectId")
    Message<PageResult<TenderInviteEnterpriseDTO>> findInviteEnterpriseListByProjectId(TenderInviteEnterpriseDTO tenderInviteEnterpriseDTO);

    /**
     * 查询每个标段下投标人邀请信息
     *
     * @author yuezheng
     * @param tenderInviteEnterpriseDTO
     * @return List<TenderInviteEnterprise>
     * @date 2022/4/18 2:11 PM
     */
    @PostMapping("/tenderInviteEnterprise/findInviteEnterpriseListByNoticeId")
    Message<List<TenderInviteEnterprise>> findInviteEnterpriseListByNoticeId(@RequestBody TenderInviteEnterpriseDTO tenderInviteEnterpriseDTO);

    /**
     * 查询投标人邀请书列表信息
     * @author tian
     * @date 2022-2-19 17:06
     * @param tenderInviteEnterpriseDTO
     * @return org.fzzn.core.model.msg.Message<com.hb.core.pojo.parent.PageResult < com.hb.core.pojo.project.notice.dto.TenderInviteEnterpriseDTO>>
     */
    @PostMapping("/tenderInviteEnterprise/findInviteEnterpriseInfoBySectionId")
    Message<TenderInviteEnterpriseDTO> findInviteEnterpriseInfoBySectionId(TenderInviteEnterpriseDTO tenderInviteEnterpriseDTO);

    /**
     * @param tenderInviteEnterpriseDTO:
     * @Description:根据id查询邀请的详情
     * @Author: zhongdl
     * @Date:2022/5/11 16:03

     * @return: {@link org.fzzn.core.model.msg.Message<com.hb.core.pojo.project.notice.dto.TenderInviteEnterpriseDTO> }
     **/
    @PostMapping("/tenderInviteEnterprise/findInviteEnterpriseInfoById")
    Message<TenderInviteEnterpriseDTO> findInviteEnterpriseInfoById(@RequestBody TenderInviteEnterpriseDTO tenderInviteEnterpriseDTO);



    /**
     * 代理机构根据标段id查询当前标段下投标人邀请信息
     * @author tian
     * @date 2022-2-21 17:27
     * @param tenderInviteEnterpriseDTO
     * @return org.fzzn.core.model.msg.Message<com.hb.core.pojo.parent.PageResult < com.hb.core.pojo.project.notice.dto.TenderInviteEnterpriseDTO>>
     */
    @PostMapping("/tenderInviteEnterprise/findInviteEnterprisePageBySectionId")
    Message<PageResult<TenderInviteEnterpriseDTO>> findInviteEnterprisePageBySectionId(TenderInviteEnterpriseDTO tenderInviteEnterpriseDTO);


    /**
     * 根据标段集合查询接受邀请的企业信息
     *
     * @author yuezheng
     * @param
     * @return org.fzzn.core.model.msg.Message
     * @date 2022/4/23 9:38 AM
     */
    @PostMapping("/tenderInviteEnterprise/findInviteEnterpriseByAcceptSectionList")
    Message<List<TenderInviteEnterprise>> findInviteEnterpriseByAcceptSectionList(@RequestBody List<Long> sectionList);

}
